package com.wlxk.core.tool;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

/**
 * @author ：PanQiangQiang
 * @date ：2022/1/21 14:49
 */
public class WlClassUtil {

    /**
     * 判断类中属性或方法上是否包含某注解
     *
     * @param clazz           类
     * @param annotationClass 注解
     * @return 结果
     */
    public static boolean hasAnnotationFiled(Class<?> clazz, Class<? extends Annotation> annotationClass) {
        //变量
        Field[] fs = clazz.getDeclaredFields();
        for (Field f : fs) {
            if (f.isAnnotationPresent(annotationClass)) {
                return true;
            }
        }
        //方法
        Method[] ms = clazz.getDeclaredMethods();
        for (Method m : ms) {
            if (m.isAnnotationPresent(annotationClass)) {
                return true;
            }
        }
        return false;
    }

}
